package com.zby.admin.service;

import com.zby.admin.pojo.dto.AddAddressDto;
import com.zby.admin.pojo.vo.AddressVo;
import com.zby.admin.pojo.dto.AddressDto;
import jakarta.servlet.http.HttpServletRequest;

import java.util.List;

public interface AddressService {
    /**
     * 添加地址
     * @param addressDto 地址信息
     * @param request 请求对象，用于获取用户信息
     * @return 是否添加成功
     */
    boolean addAddress(AddAddressDto addressDto, HttpServletRequest request);
    
    /**
     * 根据用户ID获取地址列表
     * @param request 请求对象，用于获取用户信息
     * @return 地址列表
     */
    List<AddressVo> getAddressListByUserId(HttpServletRequest request);
    
    /**
     * 更新地址信息
     * @param addressDto 地址信息
     * @param request 请求对象，用于获取用户信息
     * @return 是否更新成功
     */
    boolean updateAddress(AddressDto addressDto, HttpServletRequest request);
    
    /**
     * 根据ID删除地址
     * @param id 地址ID
     * @param request 请求对象，用于获取用户信息
     * @return 是否删除成功
     */
    boolean deleteAddress(Long id, HttpServletRequest request);

    boolean setDefault(Long id, HttpServletRequest request);
}